/**
 * @description 邮箱验证
 * @author 张航
 * @date 2020-04-14 11:35:14
 * @version V1.0.0
 */

// 导入工具包
import tools from '@/tools'

/**
 * @functionName emailValidation
 * @param {String} value 验证的字符串
 * @return {Object} 返回结果
 * @description 验证字符串是否符合邮箱规则
 * @author 张航
 * @date 2020-04-14 10:54:55
 * @version V1.0.0
 */
export const emailValidation = (value = '') => {
  // 初始化返回参数
  const resultObj = tools.resultObj(
    { value },
    false,
    '验证不通过！'
  )

  // 获取数据类型
  const datatype = tools.getRawType(value)
  if (datatype !== 'String') {
    resultObj.message = `参数"${value}"类型不正确,请传入[String]类型！`
    return resultObj
  }


  const rule = /^[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$/

  if (rule.test(value)) {
    resultObj.result = true
    resultObj.message = '验证通过！'
    return resultObj
  }

  return resultObj
}
